﻿@echo off
REM setlocal enabledelayedexpansion

set protoc=%~dp0/protoc.exe
set protocgengo=%~dp0/protoc-gen-go.exe
set grpccppplugin=%~dp0/grpc_cpp_plugin.exe

REM proto生成代码文件。
md cpp_out
md go_out

REM bvsipcmd 相关代码生成
call :build_go_grpc bvsipcmd bvsipcmd
call :build_go_grpc_dir bvsipContent bvsipContent
call :build_cpp_grpc bvsipcmd
REM 后面继续添加需要生成的代码

PAUSE

REM 按文件生成gprc go源码。 参数： 包名 文件名（不含后缀）
:build_go_grpc
    echo build_go_grpc %1 %2
    md .\\go_out\\%1 
    cd proto_file
    %protoc% --plugin=protoc-gen-go=%protocgengo% --go_out=plugins=grpc:..\\go_out\\%1 %2.proto
    cd ..\\
goto:eof

REM 按目录生成gprc go源码。 参数： 包名 文件夹名
:build_go_grpc_dir
    md .\\go_out\\%1 
    cd .\\proto_file\\%2\\
    for %%i in (*.proto) do (
        echo build_go_proto_dir %%~nxi
        %protoc% --plugin=protoc-gen-go=%protocgengo% --go_out=plugins=grpc:..\\..\\go_out\\%1 %%~nxi
    )
    cd ..\\..\\
goto:eof

REM 按文件生成gprc c/c++源码。 参数： 包名 文件名（不含后缀）
:build_cpp_grpc
    echo build_cpp_grpc %1
    cd proto_file
    %protoc% --cpp_out=..\\cpp_out %1.proto
    %protoc% --grpc_out=..\\cpp_out --plugin=protoc-gen-grpc=%grpccppplugin% %1.proto
    cd ..\\
goto:eof

